package net.wanho.util;

import com.alibaba.fastjson.JSONObject;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.profile.DefaultProfile;

/**
 * 短信发送工具类
 */
public class SMSUtil {

   /**
    * 发送短信
    *
    * @param signName     签名名称
    * @param templateCode 模板CODE
    * @param phoneNumbers 手机号
    * @param param        模板参数
    */
   public static void sendMessage(String signName, String templateCode, String phoneNumbers, String param) {
      String accessKeyId = "LTAI5tBCsLaVpJBqvepAgBB6";
      String accessKeySecret = "vogYZeYJY90vPRf..........";
      DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
      IAcsClient client = new DefaultAcsClient(profile);

      SendSmsRequest request = new SendSmsRequest();
      request.setSysRegionId("cn-hangzhou");
      request.setSignName(signName);
      request.setTemplateCode(templateCode);
      request.setPhoneNumbers(phoneNumbers);
      request.setTemplateParam("{\"code\":\"" + param + "\"}");
      try {
         SendSmsResponse response = client.getAcsResponse(request);
         System.out.println(JSONObject.toJSONString(response));

         if("OK".equals(response.getCode())){
            System.out.println("短信发送成功!");
         }
      } catch (ClientException e) {
         e.printStackTrace();
      }
   }
}